feat(session): add configurable TTL-based session expiry#18
Merged
Conversation
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add LRU-style eviction for persisted sessions. Sessions older than the configured TTL (default 30 days) are automatically deleted when any project session is restored. TTL is configurable via Settings (Chat/Commit tab), set to 0 to disable expiry. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
TuYv
approved these changes
Apr 17, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
摘要
支持 Session 过期时间可配置,在加载会话时自动清理超出 TTL 的 Session。
变更
SessionStore:SessionData新增lastAccessedAt时间戳;新增evictExpiredSessions(ttlDays)扫描并删除过期 SessionChatService:项目打开恢复 Session 前触发过期清理SettingsState/SettingsFormState:新增sessionTtlDays字段(默认 30 天,0 = 永不过期)PluginSettingsConfigurable:Chat/Commit 标签页新增 TTL 天数设置控件测试计划
lastAccessedAt改为 2 天前,重新打开项目,验证该 Session 被清理